Method and system for printing a print job

ABSTRACT

A method of printing a print job includes storing print job data on a non-volatile memory device that includes a connector for connection to a port of a printer.

BACKGROUND

[0001] With a personal computer and an appropriate software package, auser can produce virtually any type of document that may be desired. Forexample, word processing software is used to produce text documents.Graphic design or computer-aided design software can be used to producediagrams, charts, graphs, designs, etc. Spreadsheet software allows auser to manage large amounts of financial and other types ofinformation. Database software similarly allows a user to manage variousdatabases of information such as, client contact information, addressand phone number information or “to do” items.

[0002] Frequently, it is desirable to generate a hardcopy of a documentor data set that is produced or stored on a personal computer or server.A hardcopy may be desired, for example, for record keeping purposes orto share with another party. Consequently, a wide variety of printersand printing devices have been developed that can receive a print jobfrom a host computer and produce a hardcopy of the document or datarepresented by that print job.

[0003] As used herein and in the appended claims, the terms “printer”and “printing device” are defined to mean any device that produces ahardcopy from electronic data, including, but not limited to, laserprinters, inkjet printers, dot matrix printers, plotters, facsimilemachines, digital copiers, multi-function peripherals, and the like. Aprinter or printing device may produce images on a variety of printmedia that are in color or are monochromatic.

[0004] The term “print job” is defined as data that has beenspecifically formatted for submission to a particular printer from whichthe printer can generate a hardcopy representing an underlying data setfrom which the print job was created.

[0005] Most personal computers include programming that will be referredto generally as a “printer driver.” A printer driver is a piece ofsoftware or firmware that receives data or a document to be printed froman application running on the computer. The printer driver formats thedata for use by a corresponding printer, i.e., creates a print job, andthen transmits the print job to the printer. Using the print job, theprinter can produce a hardcopy of the underlying data or document.

[0006] Computer networks can interconnect a number of devices includingpersonal computers, servers, data storage devices and printers. Using acomputer network, a user can receive a data file generated elsewhere. Ifdesired, this data file can be printed on a printer connected to therecipient computer in the same manner as data files that are originallycreated on that recipient computer. Additionally, a host computer may beconnected to a printer through a network and may submit print jobs tothat printer through the network.

[0007] With the use of computer networks, a user may be operating anetworked computer that sends print jobs to a networked printer that islocated in another room or at some distance from the networked computer.If the user is printing a document that is confidential or sensitive,the user may not want to send a print job over the network, have the jobprinted and sitting on the printer for some period of time before theuser can retrieve it.

[0008] Additionally, a user may not know when or where a hardcopy of anelectronic document will be wanted. Perhaps the user is traveling anddoes not wish to carry hardcopies of the document. The document could bestored on a floppy or optical disk. But having the document on a diskwill cause the user to find a computer with a disk drive and printerwhere the computer has the right type of software to open and print thefile from the disk. In addition, the capacity of media such as a floppydisk, is sometimes much too small for the files that are to be printed.

SUMMARY

[0009] In one of many possible embodiments, the present inventionprovides a method of printing a print job that includes storing printjob data on a non-volatile memory device that includes a connector forconnection to a port of a printer.

[0010] Another embodiment of the present invention provides a printerwith a processor, a print engine controlled by the processor and a portfor receiving a connector of a packaged non-volatile memory device. Theprocessor is programmed to retrieve print job data stored on the memorydevice and use the print job data to drive the print engine to produce acorresponding hardcopy.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings illustrate various embodiments of thepresent invention and are a part of the specification. Together with thefollowing description, the drawings demonstrate and explain theprinciples of the embodiments of the present invention. The illustratedembodiments are examples of the present invention and do not limit thescope of the invention.

[0012]FIG. 1 is an illustration of a memory device which can be used topractice embodiments of the present invention.

[0013]FIG. 2 is an illustration of a computer and printer with whichembodiments of the present invention can be practiced.

[0014]FIG. 3 illustrates the principal internal components of a printerwith which embodiments of the present invention can be practiced.

[0015]FIG. 4 is a flowchart illustrating a method according to anembodiment of the present invention.

[0016] Throughout the drawings, identical reference numbers designatesimilar, but not necessarily identical, elements.

DETAILED DESCRIPTION

[0017] A non-volatile memory unit can be used to hold a print job andtransfer the data for the print job from a host computer to a printer.FIG. 1 is an illustration of a memory device that can be used topractice embodiments of the present invention. As shown in FIG. 1, aportable memory device (100) includes a packaged memory (101) and aconnector (103).

[0018] The packaged memory (101) is preferably a non-volatilesemiconductor memory unit encased in a protective cover. The memory unit(100) may include, for example, electrically erasable programmableread-only memory (EEPROM) or flash memory. Such memory units are widelyused in computers and other electronic devices such as MP3 players,digital cameras, personal digital assistants, etc. Alternatively, otherforms of non-volatile memory, other than semiconductor memory, may beused. For example, non-volatile memory types such as battery-backedstatic random access memory (SRAM), magnetic memory, small hard disks,etc., may be used in the packaged memory (101).

[0019] The memory device (100) also preferably includes a connector(103) with which to connect the packaged memory (101) to a host device.Preferably, the connector (103) is a Universal Serial Bus (USB)connector. This is because most computers and other electronic devicesinclude one or more USB ports to which the memory device (100) could beconnected using the connector (103), and USB has established operatingsystem support allowing memory devices to be mapped as disk drives.However, any other type of connector may be used with the memory unit(100), so long as that connector can be used to allow a host device towrite data to the packaged memory (101).

[0020] In some embodiments, a ring (102) may be connected to the memorypackage (101) to make the unit more manageable. For example, the ring(102) can be used to secure the memory device (100) on a key ring,necklace, belt loop, purse, laptop carrying case, etc. In someembodiments, the ring (102) may be replaced by a clip that can be usedto clip the device (100) to some other item for safekeeping.

[0021] The device may also have a user interface (105) so that a usercan control the memory device (100). For example, the user interface(105) may include a liquid crystal display (LCD) and keys or buttonsallowing a user to scroll through data files stored on the device (100)and specify which file or files to download for printing. Alternatively,the user interface may include any user input device, for example,buttons, a keypad, a touch-sensitive LCD, a trackball, a joystick, atrackpad, and the like.

[0022] The user interface (105) may also be used to specify, forexample, the number of copies to print, and other user selectablefeatures. These parameters are then downloaded to a printer along withother print job data as illustrated and described below in connectionwith FIG. 2.

[0023]FIG. 2 is an illustration of a computer and printer with whichembodiments of the present invention can be practiced. As shown in FIG.2, the memory device (100) can be connected to a host device, such aspersonal computer (122). The computer (122) has a port (123) forreceiving the connector (103, FIG. 1) on the memory device (100). Asnoted above, the connector on the device (100) is preferably a USBconnector that can connect to a USB port of the computer (122). In otherembodiments, the host device could be a server or any other device thatstores or generates print job data.

[0024] When the memory device (100) is connected to the computer (122),a print job generated by the computer (122) can be downloaded in andstored on the memory unit (100).

[0025] A wide variety of applications may run on the computer (122), forexample, a word processor, spreadsheet, graphics design program, e-mailmanager, database manager, etc. Most such applications will include thecapability of submitting data to a printer driver, also running on thecomputer (122). As described above, the printer driver will format thedata for transmission to a printer so that the data can be understood bythe printer and printed in hardcopy form. The printer driver willtypically render the print data in a Page Description Language (PDL) ora printer command language (PCL). The result is data that can betransfer to a printer, i.e., a print job. The data may also be in aprinter independent format, such as the Portable Document Format (PDF).

[0026] Once the print job data is generated, it is typically transmittedover a direct connection, or over a network, to a printer. However, withthe memory device (100) connected to the computer (122), the print jobdata can be loaded into the memory device (100) rather than transmittedto a printer. Preferably, the data stored in the memory device (100) isin the same form as would be transmitted directly to a printer.

[0027] The user can then take the memory device (100) from the computer(122) and keep it until a hardcopy of the print job is needed. When ahardcopy is needed, the memory device (100) is connected to a printer(120) using the connector (103, FIG. 1) on the memory device (100). Theprint job data is then transferred to the printer (120) from the memorydevice (100). This transfer may be controlled through the user interface(105, FIG. 1) on the memory device (100) or through the user interface(124) of the printer (120).

[0028] Because the print job data in the memory device (100) is in thesame form as would have been transmitted from the host device (122), theprinter (120) can accept and process the print job in the memory device(100) in the same manner as any other print job that might be receivedfrom host device (e.g., 122). Thus, the printer (120) is able to producethe desired hardcopy or hardcopies using the print job data in thememory device (100).

[0029] As indicated above, the connector (103, FIG. 1) on the memorydevice (100) is preferably a USB connector. Most modern printers includea USB port (121) to which the memory device (100) could be readilyconnected. Printers may provide USB host functionality to provide themost convenient connection to the memory device, but otherimplementations may work as well.

[0030] In some embodiments, a USB or other port may be added to thefront of the printer (120) as shown in FIG. 2. This allows easy accessto the port (121) for connecting the memory device (100) to the printer(120). In other embodiments, the port (121) may be located at the rearor elsewhere on the printer (120).

[0031] With the arrangement shown in FIG. 2, a user can have greatercontrol over the printing of a print job when desired. For example, if auser needs to print a confidential or sensitive document on a remoteprinter, rather than send the print job to the printer and have itprinted and sitting on the printer until retrieved, the user can takethe print job to the printer on the memory device (100), print the joband immediately retrieve the resulting hardcopy. Additionally, if theuser is traveling and does not want to carry hardcopies of a document,the document can be stored in the memory device (100) and printed whenneeded.

[0032] In another scenario, the host computer (122) may not have anyconnection to a printer. Perhaps the user does not own a printer. Insuch a case, a print job can be stored on the memory device (100) andtaken to a printer (120) where a desired hardcopy can be produced.

[0033]FIG. 3 illustrates the principal internal components of a printer(140) with which embodiments of the present invention can be practiced.The various components of the printer (140) are preferablyinterconnected by a data bus (145).

[0034] As shown in FIG. 3, the printer (140) includes a processor (144).The processor (144) controls the operation of the printer (140),including a print engine (141). The print engine (141) includes thecomponents to actually produce print on a print medium. For example, theprint engine (141) may be a laser printing engine, an inkjet printengine, etc. The print engine (141) receives print job data undercontrol of the processor (144) and produces the desired hardcopy.

[0035] A memory unit (143) is used to buffer print job data and to storeprogramming for the processor (144). The firmware stored in the memoryunit (143) is executed by the processor (144) to provide thefunctionality of the printer (140). The memory unit (143) may include acombination of non-volatile memory, e.g., read-only memory (ROM), andvolatile memory, e.g., Random Access Memory (RAM).

[0036] The printer (140) also includes a port (142) for receiving amemory device (100, FIG. 2). As indicated above, the port (142) ispreferably a USB host or USB-On The Go port, but this is not necessarilyso. Data from the memory device (100, FIG. 2) enters the printer (140)through the port (142) and is treated by the processor (144) like anyother incoming print job, such as a print job submitted to the printer(140) by a host device over a cable or network to which the printer(140) is connected.

[0037]FIG. 4 is a flowchart illustrating a method according to anembodiment of the present invention. As shown in FIG. 4, the memorydevice (e.g., 100, FIG. 1) is connected to a host device, preferablythrough a port of the host device. (Step 130). Next, print job data istransferred into the memory unit by the host device. (Step 131).

[0038] When the print job is stored in the memory device, the memorydevice is disconnected from the host. (Step 132). It will be understoodthat the memory device may receive more than a single print job from thehost, or may store print jobs from a number of different hosts.Consequently, any or all of steps 130-132 may be repeated as desired.

[0039] The print job or jobs remain on the non-volatile memory deviceindefinitely. Non-volatile memory does not require a power source tomaintain stored data. Thus, the data will be available when it isdesired to print the print job stored on the memory device.(Determination (133).

[0040] The memory device is then connected to a printer. (Step 134). Thememory device is preferably connected to a port of the printer throughwhich the printer is configured to expect and receive print job data. Asindicated above, this port may be a USB port.

[0041] Once the memory device is connected to the printer, the print jobdata is transferred from the memory device into the printer. (Step 135).This will typically occur in response to read signals transmitted to thememory device from the printer.

[0042] With the print job data downloaded to the printer, the printercan execute the print job and produce a corresponding hardcopy document.(Step 136). The user can preferably control the printer to producemultiple copies of the print job or to control various print optionsthat may be available when printing the job, for example, duplexprinting, color/monochromatic printing, etc. The control could be doneusing a user interface (105, FIG. 1) built into the memory device orcould be accomplished through the user interface (124, FIG. 2) on theprinter itself.

[0043] The preceding description has been presented only to illustrateand describe embodiments of the invention. It is not intended to beexhaustive or to limit the invention to any precise form disclosed. Manymodifications and variations are possible in light of the aboveteaching.

[0044] The foregoing embodiments were chosen and described in order toillustrate some practical applications of embodiments of the invention.The preceding description enables others skilled in the art to utilizethese principles in various embodiments and with various modificationsas are suited to the particular use contemplated. It is intended thatthe scope of the invention be defined by the following claims.

What is claimed is:
 1. A method of printing a print job, said methodcomprising storing print job data on a non-volatile memory device thatincludes a connector for connection to a port of a printer.
 2. Themethod of claim 1, further comprising connecting said memory device tosaid port of a printer.
 3. The method of claim 2, wherein saidconnecting said memory device to a port of a printer comprisesconnecting said memory device to a Universal Serial Bus port of saidprinter.
 4. The method of claim 2, further comprising downloading saidprint job data from said memory device to the printer through said port.5. The method of claim 4, further comprising printing said print jobwith the printer.
 6. The method of claim 1, further comprising;connecting said memory device to a host device; and loading said printjob data into said memory device from said host device.
 7. The method ofclaim 6, wherein connecting said memory device to said host devicecomprises using said connector which also subsequently connects saidmemory device to said port of a printer.
 8. The method of claim 6,further comprising connecting said memory device to a plurality ofsuccessive host devices, wherein each of said host devices loads a printjob into said memory device.
 9. The method of claim 6, wherein saidconnecting said memory device to a host device comprises connecting saidmemory device to a Universal Serial Bus port of said host device. 10.The method of claim 1, further comprising converting said print job datato a form for transmission to the printer prior to storing said printjob data on said memory device.
 11. The method of claim 10, whereinstoring said print job data further comprises converting said print jobdata to a page description language or printer command language beforestoring said print job data on said memory device.
 12. The method ofclaim 10, wherein storing said print job data further comprisesconverting said print job data to a printer independent format beforestoring said print job data on said memory device.
 13. The method ofclaim 1, further comprising controlling said memory device through auser interface disposed on said memory device.
 14. The method of claim2, further comprising controlling said memory device through a userinterface of said printer.
 15. The method of claim 1, further comprisingproviding a semiconductor memory as said non-volatile memory device. 16.The method of claim 1, further comprising providing a magnetic memory assaid non-volatile memory device.
 17. The method of claim 16, furthercomprising providing a hard disk as said magnetic memory.
 18. A printercomprising a processor; a print engine controlled by said processor; anda port for receiving a connector of a packaged non-volatile memorydevice; wherein said processor is programmed to retrieve print job datastored on said memory device and use said print job data to produce acorresponding hardcopy using said print engine.
 19. The printer of claim18, wherein said port is a Universal Serial Bus port.
 20. The printer ofclaim 18, further comprising a memory unit for storing programming forsaid processor.
 21. The printer of claim 18, wherein said port isdisposed on a front portion of said printer.
 22. The printer of claim18, wherein said packaged non-volatile memory comprises a packagedsemiconductor memory.
 23. The printer of claim 18, wherein said packagednon-volatile memory comprises a magnetic memory.
 24. A system forprinting a print job, said system comprising: means for storing printjob data on a non-volatile memory device; and means for connecting saidmemory device to a port of a printer.
 25. The system of claim 24,wherein said means for connecting said memory device to a port of aprinter comprises a Universal Serial Bus connector for connection to aUniversal Serial Bus port of said printer.
 26. The system of claim 24,further comprising means for downloading said print job data from saidmemory device to the printer through said port.
 27. The system of claim26, further comprising means for printing said print job.
 28. The systemof claim 24, wherein said means for storing comprise: means forconnecting said memory device to a host device; and means for loadingsaid print job data into said memory device from said host device. 29.The system of claim 28, wherein said means for connecting said memorydevice to a host device and said means for connecting said memory deviceto a port of a printer are the same means.
 30. The system of claim 28,wherein said means for connecting said memory device to a host devicefurther comprises means for connecting said memory device to a pluralityof successive host devices, wherein each of said host devices loads aprint job into said memory device.
 31. The system of claim 28, whereinsaid means for connecting said memory device to a host device comprise aUniversal Serial Bus connector on said memory device and a UniversalSerial Bus port of said host device.
 32. The system of claim 24, whereinsaid non-volatile memory device comprises a semiconductor memory. 33.The system of claim 24, wherein said non-volatile memory devicecomprises a magnetic memory.
 34. The system of claim 33, wherein saidnon-volatile memory device comprises a hard disk.
 35. A memory devicecomprising: a memory unit; and a connector for connecting said memoryunit successively to both a host computer and a printer.
 36. The memorydevice of claim 35, further comprising a user interface for controllinga transfer of data from said memory unit to a printer through saidconnector, wherein said user interface is disposed on a casing of saidmemory device that encloses said memory unit.
 37. The memory device ofclaim 36, wherein said user interface comprises a display.
 38. Thememory device of claim 37, wherein said user interface comprises a userinput device.
 39. The memory device of claim 35, wherein said memoryunit is a non-volatile memory device.
 40. The memory device of claim 39,wherein said memory unit comprises a semiconductor memory.
 41. Thememory device of claim 39, wherein said memory unit comprises a magneticmemory.
 42. The memory device of claim 41, wherein said memory unitcomprises a hard disk.